﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Lianxi03();
        }

        static void Lianxi01()
        {
            //用户输入正方形边长，用* 打印出实心正方形。

            //如：用户输入5，则输出如下图形。
            //*****
            //*****
            //*****
            //*****
            //*****

            Console.WriteLine("请输入正方形的边长");
            int bianchnag = int.Parse(Console.ReadLine());

            for (int i = 0; i < bianchnag; i++)
            {
                for (int J = 0; J < bianchnag; J++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
        }


        static void Lianxi02()
        {
            //九九乘法表

            int[,] arr = new int[9, 9];

            for (int i = 1; i <= arr.GetLength(0); i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write(i + "*" + j + "=" + i * j + "\t");
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }


        static void Lianxi03()
        {
            //用户输入正方形边长，用* 打印出空心正方形。

            //如：用户输入5，则输出如下图形。
            //*****
            //*   *
            //*   *
            //*   *
            //*****

            Console.WriteLine("请输入正方形边长");
            int bianchang = int.Parse(Console.ReadLine());

            int a = bianchang;
            int b = bianchang;
            string c = " *";
            string d = "  ";
            var arr = new int[a, b];
            for (int i = 0; i < a; i++)
            {
                arr[i, 0] = 1;
                arr[i, a - 1] = 1;
            }
            for (int j = 0; j < b; j++)
            {
                arr[0, j] = 1;
                arr[b - 1, j] = 1;
            }


            for (int j = 0; j < b; j++)
            {
                for (int i = 0; i < a; i++)
                {
                    if (arr[i, j] > 0) { Console.Write(c); }
                    else { Console.Write(d); }

                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }

        static void Lianxi04()
        {


            //            *
            //           ***
            //          *****
            //           ***
            //            *

            //          边长是3
            //行列数就是5
            int a, i;
            Console.Write("请输入菱形的边长：");
            a = Convert.ToInt32(Console.ReadLine());

            if (a % 2 == 0)
            {
                Console.Write("输入错误，请输入奇数:");
                a = Convert.ToInt32(Console.ReadLine());
            }
            else
            {

                for (i = 1; i <= a; i++)
                {
                    if (i <= (a + 1) / 2)
                    {
                        for (int j = 0; j < (a + 1) / 2 - i; j++)
                        {
                            Console.Write(" ");
                        }
                        for (int j = 0; j < i; j++)
                        {
                            Console.Write("* ");
                        }
                        Console.WriteLine();
                    }
                    else
                    {
                        for (int j = 0; j < i - (a + 1) / 2; j++)
                        {
                            Console.Write(" ");
                        }
                        for (int j = 0; j < a + 1 - i; j++)
                        {
                            Console.Write("* ");
                        }
                        Console.WriteLine();
                    }
                }
                Console.ReadLine();

            }
          }



            static void Lianxi05()
        {
            //在 Main 方法中创建一个字符串类型的数组，并存入 5 个值，然后将数组中下标是偶数的元素输出。
            int index = 0;
            foreach (var item in a)
            {

                if (index % 2 == 0)
                {
                    Console.Write(item);

                }
                index++;
            }


            Console.WriteLine();
            int index = 0;
            foreach (var item in a)
            {

                if (index % 2 == 0)
                {
                    Console.Write(item);

                }
                index++;
            }


            Console.WriteLine();



        }


        static void Lianxi06()
        {
            //如果一个数组保存元素是有序的（从大到小），向这个数组中插入一个数，使得插入后的数组元素仍然保持有序。
            int[] a = new int[6];


            a[0] = 99;
            a[1] = 55;
            a[2] = 44;
            a[3] = 33;
            a[4] = 11;


            Console.WriteLine("请输入你要添加的数字：");
            a[5] = int.Parse(Console.ReadLine());

            Array.Sort(a);
            Array.Reverse(a);

            foreach (var item in a)
            {
                Console.Write("[" + item + "] ");
            }


            Console.WriteLine();
        }


        static void Lianxi07()
        {
            //打印杨辉三角形（要求打印10行），如下所示：（使用二维数组）
            //1
            //1    1
            //1    2    1
            //1    3    3   1
            //1    4    6   4    1
            //1    5    10  10   5   1

          

        }
    }
}
